<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 请你写出下面代码的打印结果

      let obj = {}

      console.log(obj.name) // undefined
      // obj对象存在，不会报错"obj is not defined"
      //但属性名name未找到，因此给出未定义（undefined）

      function fn(ele) {
        console.log(ele.name) // 李四
        // obj对象的地址被赋值给了ele
        // 两者访问同一片内存空间！
        ele.name = "张三"
        //ele由于和obj的内存地址相同，因此可以改掉obj对象中的值
      }

      obj.name = "李四" //新建一个名为name的属性，值为"李四"
      fn(obj)
      console.log(obj.name) // 张三
      // ele已经将obj所指向的内存空间改动了
      // 因此obj对象的name属性名，其值已经被改掉了
    </script>
  </body>
</html>
